package main

import (
	"encoding/json"
	"fmt"
	"log"
)

type Account4 struct {
	Email    string  `json:"email"`
	Password string  `json:"password,omitempty"`
	Money    float64 `json:"money"`
}

/**
重命名的可以一个利器，这个利器还提供了更高级的选项。通常使用marshal的时候，会把结构体的所有除了私有字段都编码到json，而实际开发中，我们定义的结构可能更通用，我们需要某个字段可以导出，但是又不能编码到json中。
此时使用 struact tag的 -符号就能完美解决，我们已经知道_常用于忽略字段的占位，在tag中则使用短横线-。
*/
func main() {

	account := Account4{
		Email:    "rsj217@gmail.com",
		Password: "",
		Money:    100.5,
	}

	rs, err := json.Marshal(account)
	if err != nil {
		log.Fatalln(err)
	}
	fmt.Println(string(rs))
}
